/*
 * TacticaPepe.java
 *
 * Created on 17 de julio de 2006, 14:15
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package futbol.tacticas.concursantes2007.CerverosFC;

import futbol.tacticas.concursantes.Tactica;

import java.awt.*;
import java.util.Vector;
import futbol.tacticas.*;

public class TacticaCerveros implements Tactica{
    
    private int nValores[][]={
        {-150,0,6},  // Jugador 1[0]
        {-110,-32,6},  // Jugador 2[1]
        {-110,32,6},  // Jugador 3[2]
        {-42,-85,4},  // Jugador 4[3]
        {-42,0,4},  // Jugador 5[4]
        {-42,85,4},  // Jugador 6[5]
        {36,-41,5},  // Jugador 7[6]
        {36,41,5},  // Jugador 8[7]
        {47,-4,7},  // Jugador 9[8]
        {77,-94,7},  // Jugador 10[9]
        {77,94,7}  // Jugador 11[10]
    };
    
    public Color getColor1() {
        return Color.RED;
    }

    public Color getColor2() {
        return Color.BLACK;
    }

    public Color getColorNumero() {
        return Color.white;
    }

    public String getNombre() {
        return "Ceveros F.C";
    }

    public int getXInicial(int n) {
        return nValores[n][0];
    }

    public int getYInicial(int n) {
        return nValores[n][1];
    }

    public int getFuerza(int n) {
        return nValores[n][2];
    }

    public Vector<Comando> getComandos(SituacionJugadores sj) {
        Vector<Comando> com=new Vector();
        //Posicionamiento
        for (int n=0;n<11;n++)
            com.add(new ComandoIrA(n,nValores[n][0],nValores[n][1]));
        
        //Movimiento mas cercano a la bola
        int nJug=sj.getMasCercanoDeBola();
        Point bola=sj.getBola();
        com.add(new ComandoIrA(nJug,bola.getX(), bola.getY()));

        //Movimiento portero
        int y=(int)(bola.getY()/2);
        if (y<-20) y=-20;
        if (y>20) y=20;
        com.add(new ComandoIrA(0,nValores[0][0], y));
        
        Point contrarios[]=sj.getContrario();
        Point jugadores[]=sj.getMisJugadores();
        //Para que los defensas den hot
        com.add(new ComandoIrA(1,contrarios[sj.getContrarioMasCerca(1)].x,contrarios[sj.getContrarioMasCerca(1)].y)); 
         com.add(new ComandoIrA(2,contrarios[sj.getContrarioMasCerca(2)].x,contrarios[sj.getContrarioMasCerca(2)].y)); 
        com.add(new ComandoIrA(3,contrarios[sj.getContrarioMasCerca(3)].x,contrarios[sj.getContrarioMasCerca(3)].y)); 
         com.add(new ComandoIrA(5,contrarios[sj.getContrarioMasCerca(5)].x,contrarios[sj.getContrarioMasCerca(5)].y));       
         //Golpear bola
        com.add(new ComandoPase(1,3));
        com.add(new ComandoPase(2,4));
        com.add(new ComandoPase(3,6));
        com.add(new ComandoPase(4,7));
        com.add(new ComandoPase(5,7));
        com.add(new ComandoPase(6,9));
        com.add(new ComandoPase(7,10));
        
        
        com.add(new ComandoTiroAPuerta(9,10));
        com.add(new ComandoTiroAPuerta(10,-10));
        com.add(new ComandoTiroAPuerta(8,-10));
        return com;
    }
    


}
